<html>
<head>
<title>21 包装类</title>
</head>
<body>
	<script type="text/javascript">
		/*
		* 基本数据类型
		* String Number Boolean Null Undefined
		* 引用数据类型
		* Object

		* 在JS中为我们提供了三个包装类，通过这三个包装类可以将基本数据类型的数据转换为对象
		* String()
		*	- 可以将基本数据类型字符串转换为String对象
		* Number()
		*	- 可以将基本数据类型的数字转换为Number对象
		* Boolean()
		*	- 可以将基本数据类型的布尔值转换为Boolean对象

		*	但是注意：我们在实际应用中不会使用基本数据类型的对象，
		*		如果使用基本数据类型的对象，再做一些比较比较时可能会带来一些不可预期的结果
		
		*/

		var num = new Number(3);
		var str = new String("hello");
		var bool = new Boolean(true);
		console.log(typeof num);

		//向 num 中添加一个属性
		num.hello = "aaaa";
		console.log(num);

		/*
		* 方法和属性只能添加给对象，不能添加给基本数据类型
		*	当我们对一些基本数据类型的值去调用属性和方法时，
		*	浏览器会临时使用包装类将其转换为对象，然后再调用对象的属性和方法
		*	调用玩以后，再将其转换为基本数据类型
		*/
		var s = 123;
		s = s.toString();
		s.hello = "你好";
		console.log(s );
		console.log(typeof s );

	</script>
</body>


</html>